package com.lagou.session;

import com.lagou.pojo.Configuration;
import com.lagou.pojo.MapperStatement;

import java.util.List;

/**
 * 执行器
 *
 * @author Tengfei.Wang
 * @date 26/8/2020
 */
public interface Executor {

    /**
     * 执行query 方法
     *
     * @param configuration   Configuration
     * @param mapperStatement MapperStatement
     * @param params          请求参数
     * @return 查询结果集
     */
    <E> List<E> query(Configuration configuration, MapperStatement mapperStatement, Object params);

    /**
     * 执行修改操作
     *
     * @param configuration   Configuration
     * @param mapperStatement MapperStatement
     * @param params          请求参数
     */
    void update(Configuration configuration, MapperStatement mapperStatement, Object params);
}
